//========================获取用户信息预填充========================
// https://www.ilayuis.com/doc/modules/form.html#val

// html结构中隐藏了id的输入框，id是后端修改用户时所需要的，而用户不需要看见
// 请求数据填充时会一并填充id，提交数据时也会一并提交id
const form = layui.form
userinfo()
function userinfo() {
  axios.get('/my/userinfo').then(({ data: { data } }) => {
    //formTest 即 class="layui-form" 所在元素属性 lay-filter="" 对应的值 该属性需要手动添加
    // 第二个参数中的键值是表单元素对应的 name 和 value 所以需要给表单元素添加name属性，其值需要和响应数据中的参数一一对应
    form.val("formFilter", data)
  })
}


// =========================表单校验=========================
form.verify({
  nickname: function (value, item) {
    if (value.length < 2 || value.length > 6) {
      return '昵称应为2到6位字符'
    }
  }
})

// ==========================表单提交========================
const layer = layui.layer
$('#form').on('submit', function (e) {
  e.preventDefault()
  const data = $(this).serialize()
  axios.post('/my/userinfo', data).then(({ data: { status, message } }) => {
    if (status !== 0) {
      return layer.msg(message)
    }
    layer.msg(message)
    // 更改信息成功后调用父页面方法重新渲染
    window.parent.getUserInfo()
  })
})

// ==========================表单重置========================
$('#btnReset').on('click', function (e) {
  // 阻止默认重置清空
  e.preventDefault()
  // 获取用户信息填充
  userinfo()
})